;; host.ss - (c) rohan drape, 2005

(module host mzscheme
 
 (require "../host/byte.scm"
	  "../host/file.scm"
	  "../host/function.scm"
	  "../host/posix.scm"
	  "../host/random.scm"
	  "../host/sort.scm"
	  "../host/srfi.scm"
	  "../host/structure.scm"
	  "../host/table.scm"
	  (lib "plt-match.ss")
	  (lib "pretty.ss"))

 (provide (all-from "../host/byte.scm")
	  (all-from "../host/file.scm")
	  (all-from "../host/function.scm")
	  (all-from "../host/posix.scm")
	  (all-from "../host/random.scm")
	  (all-from "../host/sort.scm")
	  (all-from "../host/srfi.scm")
	  (all-from "../host/structure.scm")
	  (all-from "../host/table.scm")
	  (all-from (lib "plt-match.ss"))
	  (all-from (lib "pretty.ss")))

  (provide (all-defined)))

;; Must provide 'box', 'unbox', 'set-box!' and 'box?'.  A box is a
;; unary field structure.

;; Must provide 'pretty-print' as a pretty printer for scheme objects.

;; Must provide predicate 'promise?' to determine if an object is the
;; result of a 'delay' invocation.

;; Must provide 'read-line' to evaluate to a string containg the next
;; text line from either an `optional-port' or the current input port.
;; If the end of file is reached will return the end of file marker.

;; Must provide 'read-string' to evaluate to a string containg the
;; next `n' bytes from either an `optional-port' or the current input
;; port.  If the end of file is reached before `n' bytes are read the
;; string is truncated, subsequent calls will return the end of file
;; marker.

;; Must provide 'regexp-match' as a basic regular expression matcher,
;; the pattern is the first argument, the string to match the second.
;; This should provide standard (not advanced) regular expression
;; syntax.

;; Using 'write' on a string adds the double quotes required for a
;; read operation.  A 'write-string' procedure must be provided that
;; is symetrical with 'write-u8vector' and 'read-string'.
